hysop.backend.device.codegen.symbolic.cast module

class hysop.backend.device.codegen.symbolic.cast.OpenClCastUtils[source]

Bases: object

classmethod promote_basetype_to(expr, btype)[source]
classmethod promote_expressions_to_float(exprs)[source]
classmethod promote_expressions_to_required_rank(exprs, broadcast_args=False)[source]
classmethod promote_expressions_to_required_signature(exprs, signature, ret, expand=None)[source]
classmethod promote_to(expr, target_type)[source]
type_ranks = {<class 'numpy.bool_'>: 0, <class 'numpy.float16'>: 9, <class 'numpy.float32'>: 10, <class 'numpy.float64'>: 11, <class 'numpy.int16'>: 3, <class 'numpy.int32'>: 5, <class 'numpy.int64'>: 7, <class 'numpy.int8'>: 1, <class 'numpy.uint16'>: 4, <class 'numpy.uint32'>: 6, <class 'numpy.uint64'>: 8, <class 'numpy.uint8'>: 2}